package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 顾客信息对象 customer
 * 
 * @author ruoyi
 * @date 2025-09-25
 */
public class Customer extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 顾客ID（主键） */
    private Long customerId;

    /** 顾客姓名 */
    private String customerName;

    /** 性别（0-未知，1-男，2-女） */
    private Long gender;

    /** 联系电话 */
    private String phone;

    /** 电子邮箱 */
    private String email;

    /** 身份证号 */
    private String idCard;

    /** 联系地址 */
    private String address;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    /** 会员等级（0-普通，1-白银，2-黄金，3-钻石） */
    private Long memberLevel;

    /** 注册时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date registerTime;

    /** 最后登录时间 */
    private Date lastLoginTime;

    /** 状态（0-禁用，1-正常） */
    private Long status;

    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }

    public void setCustomerName(String customerName) 
    {
        this.customerName = customerName;
    }

    public String getCustomerName() 
    {
        return customerName;
    }

    public void setGender(Long gender) 
    {
        this.gender = gender;
    }

    public Long getGender() 
    {
        return gender;
    }

    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }

    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }

    public void setIdCard(String idCard) 
    {
        this.idCard = idCard;
    }

    public String getIdCard() 
    {
        return idCard;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setBirthday(Date birthday) 
    {
        this.birthday = birthday;
    }

    public Date getBirthday() 
    {
        return birthday;
    }

    public void setMemberLevel(Long memberLevel) 
    {
        this.memberLevel = memberLevel;
    }

    public Long getMemberLevel() 
    {
        return memberLevel;
    }

    public void setRegisterTime(Date registerTime) 
    {
        this.registerTime = registerTime;
    }

    public Date getRegisterTime() 
    {
        return registerTime;
    }

    public void setLastLoginTime(Date lastLoginTime) 
    {
        this.lastLoginTime = lastLoginTime;
    }

    public Date getLastLoginTime() 
    {
        return lastLoginTime;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return "Customer{" +
                "customerId=" + customerId +
                ", customerName='" + customerName + '\'' +
                ", gender=" + gender +
                ", phone='" + phone + '\'' +
                ", email='" + email + '\'' +
                ", idCard='" + idCard + '\'' +
                ", address='" + address + '\'' +
                ", birthday=" + birthday +
                ", memberLevel=" + memberLevel +
                ", registerTime=" + registerTime +
                ", lastLoginTime=" + lastLoginTime +
                ", status=" + status +
                '}';
    }
}
